/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pedidos.Producto.Controlador;

import Pedidos.Producto.BEAN.ProductoBEAN;
import Pedidos.Producto.DAO.ProductoDAO;
import Pedidos.Producto.Vista.AgregarProducto;
import Pedidos.Producto.Vista.Producto;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import sape.Controlador;
import sape.MenuControlador;

/**
 *
 * @author Diego
 */
public class AgregarProductoControlador extends Controlador {

    AgregarProducto vista;
    MenuControlador menu_controlador;

    public AgregarProductoControlador(AgregarProducto aThis) {
        this.vista = aThis;
    }

    public AgregarProductoControlador(AgregarProducto aThis, MenuControlador menu_controlador) {
        this.vista = aThis;
        this.menu_controlador = menu_controlador;
    }


//    private boolean validarDescripcion(JTextField tbDescripcion){
//        return true;
//    }

    public void agregarNuevoProducto(JTextField tbNombre, JTextField tbPrecio, JTextArea tbaDescripcion) {


        if (!(ProductoDAO.validarNombre(tbNombre) && ProductoDAO.validarPrecio(tbPrecio))) {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "No paso la validacion.");
            return;
        }
        //MENSAJE DE ERROR SI NO CUMPLE LAS VALIDACIONES. 
        //SI CUMPLE INSERCION.
        ProductoBEAN producto_nuevo = new ProductoBEAN(tbNombre.getText(), Double.valueOf(tbPrecio.getText()), tbaDescripcion.getText());
        String mensajeDAO = ProductoDAO.agregarProducto(producto_nuevo);

        if (mensajeDAO.compareTo("OK") == 0) {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "Producto Agregado");
        } else {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "ERROR: " + mensajeDAO);
        }

        //SE REGRESA A LA VISTA PRODUCTO.
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        Producto new_vista = new Producto(this.menu_controlador);
        this.menu_controlador.controlador_interno = new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }

    public void cancelar() {
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);

        Producto new_vista = new Producto(this.menu_controlador);
        this.menu_controlador.controlador_interno = new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }
}
